<?php

    include_once("../inc/common.php");
    //ini_set('display_errors', 1);
    //error_reporting(E_ALL);
    // Inicialização dos dados de saída /////////////////////////////////////////////////////////////////////////////////////
    $result["ok"] = "0";

    // Captura a ação a ser executada ///////////////////////////////////////////////////////////////////////////////////////
    $action = Param::get("action");
    // Salvar ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
    if ($action == "salvar") {
        if (!Security::isValidUser("feedback_consultar")) {
            Messages::sendError("Você não tem permissão para esta operação");
            Http::redirect("../mod_galerias/lista-galerias.php");
        }

        // Prepara dados de retorno
        $result["ok"] = "0"; // começa com não OK
        // Validação
        $error = new Error();
        if (Param::getArray("imagens_upadas_") == "")
            $error->add('Nenhuma Imagem');

        if ($error->hasError()) {
            $result["erro"] = $error->toString();
        } else {
            $sql = new UpdateSQL();

            $sql->setTable("galeria");
            $sql->setKey("id", Param::getInt("f_id"), "Number");

            $sql->addField("nome", Param::get("f_titulo"), "String");
            $sql->addField("descricao", Param::get("f_descricao"), "String");
            $sql->addField("ativo", Param::getInt("f_ativo"), "Number");

            if (Param::getInt("f_id") > 0) { // alteração
                $sql->setAction("UPDATE");
                DBUtils::executeSQL($sql->getSQL());
                $result["modo"] = "a";
                $last_id = Param::getInt("f_id");
            } else { // inclusão
                $sql->setAction("INSERT");
                $last_id = DBUtils::executeSQL($sql->getSQL());
                $result["modo"] = "i";
                $result["id"] = $last_id;
            }


            $oImg = new canvas();

            // Tratamento dos campos
            $imagens = Param::getArray("imagens_upadas_");
            $legendas = Param::getArray("legenda_");

            foreach ($imagens as $key => $value) {

                $extensao = array_reverse(explode('.', $value));
                $extensao = $extensao[0];

                $rowImagem[$key]['nome'] = str_replace($extensao, '', $value);
                $rowImagem[$key]['extensao'] = $extensao;
                $rowImagem[$key]['ordem'] = $key + 1;

                $tempFile   = rtrim(FILE_PATH_TEMP, '/') . '/' . $value;
                $realFile   = rtrim(FILE_PATH, '/') . '/galerias/' . $value;
                $dir_thumbs = rtrim(FILE_PATH, '/') . '/galerias/thumbs/' . $value;
                //$oImg->carrega($tempFile);
                //$oImg->grava($realFile);
                
                
                if(rename($tempFile, $realFile)){
                    //Grava Thmbus
                    $oImg   ->carrega($realFile);
                    $oImg   ->hexa( '#F5F5F5' );
                    $oImg   ->redimensiona(186,140,'preenchimento');
                    $oImg   ->grava($dir_thumbs);
                    //Redimensiona Imagem
                    $oImg   ->carrega($realFile);
					if($oImg->largura>780)
                    	$oImg   ->redimensiona(780);
                    $oImg   ->grava($realFile);
                    //Coloca Marca d´agua
                    $oImg   ->carrega($realFile);
                  //  $oImg   ->marca( 'http://join-ti.com.br/crea_site/site/img/marca.png', 'baixo', 'direita' );
                    $oImg   ->grava($realFile);
                }
            }
            
            foreach ($legendas as $key => $value) {

                if ($value == 'Insira uma Legenda')
                    $value = '';

                $rowImagem[$key]['legenda'] = $value;
                $rowImagem[$key]['galeria'] = $last_id;
            }

            $insert = "INSERT INTO `imagens` (`nome`,`extensao`,`ordem`,`legenda`,`id_gal`) VALUES ";

            foreach ($rowImagem as $key => $value) {
                $virgula = ',';

                if ($value == end($rowImagem))
                    $virgula = '';

                $insert .= "('" . implode("','", $value) . "')" . $virgula;
            }
            DBUtils::delete('imagens', 'id_gal', $last_id);

            DBUtils::executeSQL($insert);

            Messages::sendSuccess('Galeria salva com Sucesso');
        }
        Http::redirect('../mod_galerias/lista-galerias.php');
    }


    if ($action == "excluir") {
        if (!Security::isValidUser("feedback_consultar")) {
            Messages::sendError("Você não tem permissão para esta operação");
            Http::redirect("../mod_galerias/lista-galerias.php");
        }

        $itens = Param::getStringFromArray("sel");

        // validação
        $error = new Error();
        if (DBVal::checkFK("imagens", "id_gal", $itens))
            $error->add("Existem imagens associadas à essa(s) galeria(s).");
        if (strlen($itens) == 0)
            $error->add("Nenhum registro selecionado.");
        // Transação
        if ($error->hasError()) {
            Messages::sendError($error->toString());
            Http::redirect('../mod_galerias/lista-galerias.php');
        } else {
            try {
                DBUtils::delete("galeria", "id", $itens);
                Messages::sendSuccess("Registros excluídos com sucesso!");
            } catch (Exception $e) {
                Messages::sendError("Erro durante a exclusão");
            }
        }

        // Retorna
        Http::redirect('../mod_galerias/lista-galerias.php');
    }

    if ($action == 'excluirimagem') {
        $imagem = Param::get("imagem");
        $pasta = Param::get("folder");
        $id = Param::getInt("id");
        $realFile = rtrim(FILE_PATH, '/') . '/' . $pasta . '/' . $imagem;

        if (unlink($realFile)) :
            DBUtils::delete('imagens', 'id', $id);
            $retorno['msg'] = 'Imagem Excluida Com Sucesso';
            $retorno['status'] = TRUE;
        else:
            $retorno = "Erro durante a exclusão";
            $retorno['status'] = FALSE;
        endif;



        echo json_encode($retorno);
    }

    if ($action == "alterarAtivo") {
        if (!Security::isValidUser("feedback_consultar")) {
            Messages::sendError("Você não tem permissão para esta operação");
            Http::redirect("../mod_galerias/lista-galerias.php");
        }

        $ativo = Param::get("ativo");

        $itens = Param::getStringFromArray("sel");

        // validação
        $error = new Error();
        if (sizeof($itens) == 0)
            $error->add("Nenhum registro selecionado.");

        // Transação
        if ($error->hasError()) {
            Messages::sendError($error->toString());
            Http::redirect("../mod_galerias/lista-galerias.php");
        } else {
            try {
                DBUtils::executeSQL("UPDATE galeria SET ativo='$ativo' WHERE id IN (" . $itens . ")");
                Messages::sendSuccess("Registro(s) processados com sucesso!");
            } catch (Exception $e) {
                Messages::sendError("Erro durante a exclusão");
            }
        }

        // Retorna
        Http::redirect("../mod_galerias/lista-galerias.php");
    }
?>